
/**
 * 直接插入排序
 * 时间复杂度O(n^2)，空间复杂度O(1)，稳定的
 * @param {*} arr 待排序的数组
 * @returns 排好序的数组
 */
const strightInsertSort = (arr) => {
    let flog = null;
    for(let i = 1; i < arr.length; i++){
        flog = arr[i];
        let j = i - 1;
        while(flog < arr[j]) {
            arr[j+1] = arr[j];
            j--;
        }
        arr[j+1] = flog;
    }

    return arr;
}



let arr1 = [12, 2, 4, 5, 3];
let arr2 = [51, 32, 55, 23, 9, 20]

console.log(strightInsertSort(arr1));
console.log(strightInsertSort(arr2));

